package com.ecr.hub.model.rail;

import java.util.LinkedList;

import com.ecr.hub.model.AbstractIndicatorBaseHub;
import com.ecr.hub.model.wagon.Wagon;

public class Rail extends AbstractIndicatorBaseHub {

	private static final long serialVersionUID = 1L;
	// number est en fait une string ( 61 bis, ...).
	private String number;
	private String label;
	private String electrical;
	private String assignment;
	private boolean active;
	private int sortOrder;
	private float utilLength;
	private TypeBundle typeBundle;
	private int destinationId;
	private String destinationLabel;
	private String destinationHexColor;
	// Infos pour le fonctionnement du hub.
	private LinkedList<Wagon> lstWagons;
	private boolean utilLengthAlert;
	private boolean available;
	private float calcUtilLength;
	private int numlot;
	private int nbRealPos;
	private int posMoveBegin;
	private int posMoveEnd;

	/**
	 * Constructeur.
	 */
	public Rail() {
		lstWagons = new LinkedList<Wagon>();
		setUtilLengthAlert(false);
		setAvailable(true);
	}

	// **********************************
	// Les getters et les setters.
	// ***********************************

	public String getLabel() {
		return label;
	}

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}

	public String getElectrical() {
		return electrical;
	}

	public String getAssignment() {
		return assignment;
	}

	public boolean isActive() {
		return active;
	}

	public int getSortOrder() {
		return sortOrder;
	}

	public TypeBundle getTypeBundle() {
		return typeBundle;
	}

	public int getDestinationId() {
		return destinationId;
	}

	public String getDestinationLabel() {
		return destinationLabel;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public void setElectrical(String electrical) {
		this.electrical = electrical;
	}

	public void setAssignment(String assignment) {
		this.assignment = assignment;
	}

	public void setActive(boolean active) {
		this.active = active;
	}

	public void setSortOrder(int sortOrder) {
		this.sortOrder = sortOrder;
	}

	public void setTypeBundle(TypeBundle typeBundle) {
		this.typeBundle = typeBundle;
	}

	public void setDestinationId(int destinationId) {
		this.destinationId = destinationId;
	}

	public void setDestinationLabel(String destinationLabel) {
		this.destinationLabel = destinationLabel;
	}

	public String getDestinationHexColor() {
		return destinationHexColor;
	}

	public void setDestinationHexColor(String destinationHexColor) {
		this.destinationHexColor = destinationHexColor;
	}

	public LinkedList<Wagon> getLstWagons() {
		return lstWagons;
	}

	public void setLstWagons(LinkedList<Wagon> lstWagons) {
		this.lstWagons = lstWagons;
	}

	public float getUtilLength() {
		return utilLength;
	}

	public void setUtilLength(float utilLength) {
		this.utilLength = utilLength;
	}

	public float getCalcUtilLength() {
		return calcUtilLength;
	}

	public void setCalcUtilLength(float calcUtilLength) {
		this.calcUtilLength = calcUtilLength;
	}

	public boolean isUtilLengthAlert() {
		return utilLengthAlert;
	}

	public void setUtilLengthAlert(boolean utilLengthAlert) {
		this.utilLengthAlert = utilLengthAlert;
	}

	public boolean isAvailable() {
		return available;
	}

	public void setAvailable(boolean available) {
		this.available = available;
	}

	public int getNumlot() {
		return numlot;
	}

	public void setNumlot(int numlot) {
		this.numlot = numlot;
	}

	public int getNbRealPos() {
		return nbRealPos;
	}

	public void setNbRealPos(int nbRealPos) {
		this.nbRealPos = nbRealPos;
	}

	public int getPosMoveBegin() {
		return posMoveBegin;
	}

	public int getPosMoveEnd() {
		return posMoveEnd;
	}

	public void setPosMoveBegin(int posMoveBegin) {
		this.posMoveBegin = posMoveBegin;
	}

	public void setPosMoveEnd(int posMoveEnd) {
		this.posMoveEnd = posMoveEnd;
	}
}
